#ifndef PRIVATECHATWINDOW_H
#define PRIVATECHATWINDOW_H

#include <QWidget>
#include "mylistwidgetitem.h"
#include "myqqfacewindow.h"
#include<QVector>



namespace Ui {
class PrivateChatWindow;
}

//聊天窗口类
class PrivateChatWindow : public QWidget
{
    Q_OBJECT

public:
    explicit PrivateChatWindow(struct st_personData user,struct st_friendData Friend,QWidget *parent = nullptr);
    ~PrivateChatWindow();
    //添加一条文本消息记录
    void addTextRecord(struct st_msg msg);
    //添加一条表情记录
    void addJoyRecord(struct st_msg msg);
    // 添加一条文件记录
    void addFileRecord(struct st_msg msg);


protected:
    //重写窗口关闭事件
    void closeEvent(QCloseEvent *event)override;

private slots:
    void updateItemSize(QSize,int);  //更新QListWidgetItem的大小

    void on_btn_send_clicked();

    void on_btn_sendfile_clicked();

    void on_btn_joy_clicked();

    void on_btn_history_clicked();

private:
    Ui::PrivateChatWindow *ui;
    int historyMsgNum = 0;          // 只允许提取一次历史记录
    int row_H = 50;                 // MyListWidgetItem的高度
    int autoSeq = 0;                // 自增,记录item在QListWidget中的位置
    struct st_personData m_user;    // 用户资料
    struct st_friendData m_friend;  // 好友资料
    QPixmap user_head;              // 用户头像
    QPixmap friend_head;            // 好友头像
    MyQQFaceWindow* qqfaceWindow;   // qq表情窗口

};

#endif // PRIVATECHATWINDOW_H
